{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据探索\n",
    "triplet_dataset_sub.csv  \n",
    "三元组数据（user、song、play_count）  \n",
    "作业要求：将triplet_dataset_sub.csv中的数据用train_test_split分成80%数据做训练，剩下20%数据做测试。  \n",
    "    1.实现基于用户的协同过滤  \n",
    "    2.实现基于物品的协同过滤  \n",
    "    3.实现基于模型（矩阵分解）的协同过滤  \n",
    "    4.对每种推荐算法的推荐结果，用Top10个推荐歌曲的准确率和召回率评价推荐系统的性能  \n",
    "  \n",
    "用播放次数/比例作为用户/物品的特征表示  \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_ineractivity = \"all\"\n",
    "\n",
    "\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "pd.set_option('max_row',300)\n",
    "\n",
    "import datetime\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import math\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号\n",
    "\n",
    "#%matplotlib widget\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user</th>\n",
       "      <th>item</th>\n",
       "      <th>playcount</th>\n",
       "      <th>score</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4e11f45d732f4861772b2906f81a7d384552ad12</td>\n",
       "      <td>SOCKSGZ12A58A7CA4B</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4e11f45d732f4861772b2906f81a7d384552ad12</td>\n",
       "      <td>SOCVTLJ12A6310F0FD</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4e11f45d732f4861772b2906f81a7d384552ad12</td>\n",
       "      <td>SODLLYS12A8C13A96B</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4e11f45d732f4861772b2906f81a7d384552ad12</td>\n",
       "      <td>SOEGIYH12A6D4FC0E3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4e11f45d732f4861772b2906f81a7d384552ad12</td>\n",
       "      <td>SOFRQTD12A81C233C0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37514</th>\n",
       "      <td>491d048e26c51fcda0744355bf191d4ccf36f118</td>\n",
       "      <td>SOZEBLF12A6D4F8259</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37515</th>\n",
       "      <td>491d048e26c51fcda0744355bf191d4ccf36f118</td>\n",
       "      <td>SOZPPYS12898B694CE</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37516</th>\n",
       "      <td>491d048e26c51fcda0744355bf191d4ccf36f118</td>\n",
       "      <td>SOZVUCT12A8C1424BE</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37517</th>\n",
       "      <td>491d048e26c51fcda0744355bf191d4ccf36f118</td>\n",
       "      <td>SOZXEZV12A6D4F737F</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37518</th>\n",
       "      <td>491d048e26c51fcda0744355bf191d4ccf36f118</td>\n",
       "      <td>SOZZIOH12A67ADE300</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>37519 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           user                item  \\\n",
       "0      4e11f45d732f4861772b2906f81a7d384552ad12  SOCKSGZ12A58A7CA4B   \n",
       "1      4e11f45d732f4861772b2906f81a7d384552ad12  SOCVTLJ12A6310F0FD   \n",
       "2      4e11f45d732f4861772b2906f81a7d384552ad12  SODLLYS12A8C13A96B   \n",
       "3      4e11f45d732f4861772b2906f81a7d384552ad12  SOEGIYH12A6D4FC0E3   \n",
       "4      4e11f45d732f4861772b2906f81a7d384552ad12  SOFRQTD12A81C233C0   \n",
       "...                                         ...                 ...   \n",
       "37514  491d048e26c51fcda0744355bf191d4ccf36f118  SOZEBLF12A6D4F8259   \n",
       "37515  491d048e26c51fcda0744355bf191d4ccf36f118  SOZPPYS12898B694CE   \n",
       "37516  491d048e26c51fcda0744355bf191d4ccf36f118  SOZVUCT12A8C1424BE   \n",
       "37517  491d048e26c51fcda0744355bf191d4ccf36f118  SOZXEZV12A6D4F737F   \n",
       "37518  491d048e26c51fcda0744355bf191d4ccf36f118  SOZZIOH12A67ADE300   \n",
       "\n",
       "       playcount  score  \n",
       "0              1      0  \n",
       "1              1      0  \n",
       "2              3      3  \n",
       "3              1      0  \n",
       "4              2      2  \n",
       "...          ...    ...  \n",
       "37514          1      0  \n",
       "37515          3      3  \n",
       "37516          3      3  \n",
       "37517          1      0  \n",
       "37518          1      0  \n",
       "\n",
       "[37519 rows x 4 columns]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读取数据\n",
    "triplet_cols = ['user','item', 'playcount'] \n",
    "\n",
    "dpath = './data/'\n",
    "df_triplet = pd.read_csv(dpath +'triplet_dataset_sub.csv', sep=',', names=triplet_cols, encoding='latin-1')\n",
    "df_triplet['score'] = df_triplet['playcount']\n",
    "df_triplet.loc[df_triplet['playcount']==1,'score'] = 0\n",
    "df_triplet.loc[df_triplet['playcount']>100,'score'] = 100\n",
    "\n",
    "#df_triplet = df_triplet.drop(['playcount'],axis=1)     \n",
    "df_triplet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "用户数: 790\n",
      "音乐数: 800\n"
     ]
    }
   ],
   "source": [
    "num_users = df_triplet['user'].unique().shape[0]\n",
    "num_items = df_triplet['item'].unique().shape[0]\n",
    "\n",
    "print(\"用户数: \" + str(num_users) + \"\\n音乐数: \" + str(num_items))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b21e1b6b14b7b3b8b8e683e82ede0e59ad64e9f7    272\n",
       "b7c24f770be6b802805ac0e2106624a517643c17    271\n",
       "a2679496cd0af9779a92a13ff7c6af5c81ea8c7b    250\n",
       "119b7c88d58d0c6eb051365c103da5caf817bea6    247\n",
       "c1255748c06ee3f6440c51c439446886c7807095    226\n",
       "                                           ... \n",
       "52a6c7b6221f57c89dacbbd06854ca0dc415e9e6      1\n",
       "467e0e46181933c7e1a936e513ca55fbab4edaed      1\n",
       "af3ee32357049dd96231238bd1b019e8142ee6aa      1\n",
       "67c5b5b1982902d15badd8ce0c18b3278ec4bfc0      1\n",
       "a3a9329463c55f63876f84b0c47b4f90ca9db7bc      1\n",
       "Name: user, Length: 790, dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_freqs = df_triplet['user'].value_counts()\n",
    "user_freqs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#user<=>此user提供过记录的次数\n",
    "plt.bar(user_freqs.index, user_freqs)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "21"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_freqs = df_triplet['item'].value_counts()\n",
    "item_freqs['SOYPWKK12A8C136494']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item</th>\n",
       "      <th>freq</th>\n",
       "      <th>rank_by_freq</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>SOAXGDH12A8C13F8A1</th>\n",
       "      <td>SOAXGDH12A8C13F8A1</td>\n",
       "      <td>213</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOFRQTD12A81C233C0</th>\n",
       "      <td>SOFRQTD12A81C233C0</td>\n",
       "      <td>196</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOCVTLJ12A6310F0FD</th>\n",
       "      <td>SOCVTLJ12A6310F0FD</td>\n",
       "      <td>195</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOPXKYD12A6D4FA876</th>\n",
       "      <td>SOPXKYD12A6D4FA876</td>\n",
       "      <td>180</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOSXLTC12AF72A7F54</th>\n",
       "      <td>SOSXLTC12AF72A7F54</td>\n",
       "      <td>180</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOWBTPS12A6D4FA5BE</th>\n",
       "      <td>SOWBTPS12A6D4FA5BE</td>\n",
       "      <td>12</td>\n",
       "      <td>795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOZQLLE12A6D4F7170</th>\n",
       "      <td>SOZQLLE12A6D4F7170</td>\n",
       "      <td>12</td>\n",
       "      <td>796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOXTYBL12AB01887BB</th>\n",
       "      <td>SOXTYBL12AB01887BB</td>\n",
       "      <td>12</td>\n",
       "      <td>797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOXEYIE12AB0180212</th>\n",
       "      <td>SOXEYIE12AB0180212</td>\n",
       "      <td>11</td>\n",
       "      <td>798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SOTLHUV12A6D4FC541</th>\n",
       "      <td>SOTLHUV12A6D4FC541</td>\n",
       "      <td>10</td>\n",
       "      <td>799</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>800 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                  item  freq  rank_by_freq\n",
       "SOAXGDH12A8C13F8A1  SOAXGDH12A8C13F8A1   213             0\n",
       "SOFRQTD12A81C233C0  SOFRQTD12A81C233C0   196             1\n",
       "SOCVTLJ12A6310F0FD  SOCVTLJ12A6310F0FD   195             2\n",
       "SOPXKYD12A6D4FA876  SOPXKYD12A6D4FA876   180             3\n",
       "SOSXLTC12AF72A7F54  SOSXLTC12AF72A7F54   180             4\n",
       "...                                ...   ...           ...\n",
       "SOWBTPS12A6D4FA5BE  SOWBTPS12A6D4FA5BE    12           795\n",
       "SOZQLLE12A6D4F7170  SOZQLLE12A6D4F7170    12           796\n",
       "SOXTYBL12AB01887BB  SOXTYBL12AB01887BB    12           797\n",
       "SOXEYIE12AB0180212  SOXEYIE12AB0180212    11           798\n",
       "SOTLHUV12A6D4FC541  SOTLHUV12A6D4FC541    10           799\n",
       "\n",
       "[800 rows x 3 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_item_freqs = pd.DataFrame({'item':item_freqs.index,'freq':item_freqs})\n",
    "df_item_freqs['rank_by_freq'] = range(len(item_freqs))\n",
    "df_item_freqs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#item<=>此item出现过记录的次数\n",
    "plt.bar(item_freqs.index, item_freqs)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "item_freqs_1 = item_freqs.copy()\n",
    "item_freqs_1.index = range(item_freqs_1.count())\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "item_freqs_1.plot(ax=ax, title='item_index<=>freq');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '前20名 Most 流行 song ')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "series_item = df_item_freqs.iloc[0:20].index\n",
    "series_freq = df_item_freqs.iloc[0:20]['freq']\n",
    "list_item = list(series_item)\n",
    "list_freq = list(series_freq)\n",
    "x_pos = np.arange(len(series_item))\n",
    "\n",
    "#plt.rcdefaults()\n",
    "plt.bar(x_pos, list_freq, align='center', alpha=0.4)\n",
    "plt.xticks(x_pos, list_item, rotation='vertical')\n",
    "plt.ylabel('某song被提到的次数')\n",
    "plt.title('前20名 Most 流行 song ')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "64.61904761904762\n"
     ]
    }
   ],
   "source": [
    "item_means =df_triplet['playcount'].groupby(df_triplet['item']).mean()\n",
    "item_means = item_means.sort_values(ascending = False)\n",
    "print(item_means['SOYPWKK12A8C136494'])\n",
    "df_item_means = pd.DataFrame({'item':item_means.index, 'mean': item_means})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item</th>\n",
       "      <th>mean</th>\n",
       "      <th>freq</th>\n",
       "      <th>rank_by_freq</th>\n",
       "      <th>rank_by_mean</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>SOYPWKK12A8C136494</td>\n",
       "      <td>64.619048</td>\n",
       "      <td>21</td>\n",
       "      <td>701</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>SOBONKR12A58A7A7E0</td>\n",
       "      <td>59.095808</td>\n",
       "      <td>167</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>SOTLHUV12A6D4FC541</td>\n",
       "      <td>56.200000</td>\n",
       "      <td>10</td>\n",
       "      <td>799</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>SOZOWON12A67ADA091</td>\n",
       "      <td>30.750000</td>\n",
       "      <td>28</td>\n",
       "      <td>555</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>SOMLYJD12A58A7B155</td>\n",
       "      <td>29.656250</td>\n",
       "      <td>64</td>\n",
       "      <td>154</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>795</th>\n",
       "      <td>SOUZBUD12A8C13FD8E</td>\n",
       "      <td>1.900000</td>\n",
       "      <td>20</td>\n",
       "      <td>723</td>\n",
       "      <td>795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>796</th>\n",
       "      <td>SOYRJTL12A67AD9551</td>\n",
       "      <td>1.619048</td>\n",
       "      <td>21</td>\n",
       "      <td>702</td>\n",
       "      <td>796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>797</th>\n",
       "      <td>SOVPBLT12A6D4F5113</td>\n",
       "      <td>1.526316</td>\n",
       "      <td>19</td>\n",
       "      <td>743</td>\n",
       "      <td>797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>798</th>\n",
       "      <td>SOSXSMM12B0B808B45</td>\n",
       "      <td>1.483871</td>\n",
       "      <td>31</td>\n",
       "      <td>479</td>\n",
       "      <td>798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>799</th>\n",
       "      <td>SOSXVAS12A6310F1AD</td>\n",
       "      <td>1.300000</td>\n",
       "      <td>20</td>\n",
       "      <td>710</td>\n",
       "      <td>799</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>800 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                   item       mean  freq  rank_by_freq  rank_by_mean\n",
       "0    SOYPWKK12A8C136494  64.619048    21           701             0\n",
       "1    SOBONKR12A58A7A7E0  59.095808   167            12             1\n",
       "2    SOTLHUV12A6D4FC541  56.200000    10           799             2\n",
       "3    SOZOWON12A67ADA091  30.750000    28           555             3\n",
       "4    SOMLYJD12A58A7B155  29.656250    64           154             4\n",
       "..                  ...        ...   ...           ...           ...\n",
       "795  SOUZBUD12A8C13FD8E   1.900000    20           723           795\n",
       "796  SOYRJTL12A67AD9551   1.619048    21           702           796\n",
       "797  SOVPBLT12A6D4F5113   1.526316    19           743           797\n",
       "798  SOSXSMM12B0B808B45   1.483871    31           479           798\n",
       "799  SOSXVAS12A6310F1AD   1.300000    20           710           799\n",
       "\n",
       "[800 rows x 5 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#把df_item_means和df_item_freqs合并\n",
    "df_item_freqs = df_item_freqs.reset_index(drop=True)\n",
    "df_item_means = df_item_means.reset_index(drop=True)\n",
    "\n",
    "pd_item_info = pd.merge(df_item_means, df_item_freqs,on='item', how='left')\n",
    "pd_item_info['rank_by_mean']=range(item_means.count())\n",
    "pd_item_info\n",
    "#.reset_index(drop = True)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#freq(流行程度)和mean(受欢迎程度)的相关性\n",
    "fig, ax = plt.subplots(1, 1, figsize=(12, 4))\n",
    "ax.scatter(pd_item_info['freq'], pd_item_info['mean']);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "playcount_freq = df_triplet['playcount'].value_counts()\n",
    "playcount_freq[319]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2883495e148>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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AAAAAAAAAAAAAAAAAAAAAAAAAAAAADBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYIn4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaInwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKeInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBTxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCK+AkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwRfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmCJ+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU8RPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCniJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAU8RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEX8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApoifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFPETwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAp4icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAFPETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYIr4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYIn4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaInwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKeInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBTxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCK+AkAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAABARfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqIifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACriJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCJ+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTETwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICK+AkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEX8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiInwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV8RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIn4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVMRPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIr4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFARPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq4icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqIifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACriJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCJ+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTETwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICK+AkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEX8BAAAAAAAAAAAADnUNpwAACAASURBVAAAAAAAAAAAAAAAAAAAAKiInwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV8RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIn4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVMRPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIr4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFARPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq4icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqIifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACriJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCJ+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTETwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICK+AkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AFARPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq4icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqIifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBE/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACriJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBF/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCJ+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTETwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICK+AkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEX8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiInwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV8RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIn4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVMRPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIr4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFARPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq4icAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARfwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqIifAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXxEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAivgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBE/AQAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAA03xBaQAAIABJREFUAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEfETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYET8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgRPwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGxE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAkeW2FyDZPzrZ+Mzp8eEFbAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADrW2x7AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGA3iZ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIj4CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAifgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMiJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+InAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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\n",
      "text/plain": [
       "<Figure size 8280x864 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, 1, figsize=(115, 12))\n",
    "plt.xticks(rotation='vertical')\n",
    "playcount_freq.plot(kind='bar', title='playcount_freq')\n",
    "\n",
    "#plt.bar(playcount_freq.index, playcount_freq, align='center', alpha=0.4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
